package com.demo.java.OD601_650.OD635;

import java.util.*;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【核酸最快检测效率(A卷-100分)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146964198
 */
public class OdMain {
    public static void main(String[] args) {
        // 输入处理
        Scanner in = new Scanner(System.in);
        int sample_num = in.nextInt(); // 样本数量
        int volunteer_num = in.nextInt(); // 志愿者数量

        Integer[] efficiencys = new Integer[sample_num];
        for (int i = 0; i < sample_num; i++) {
            efficiencys[i] = in.nextInt(); // 每个样本的效率值
        }

        // 计算每个样本的效率范围，范围是样本效率的 10%
        int[] range_efficiencys = new int[sample_num];
        for (int i = 0; i < sample_num; i++) {
            range_efficiencys[i] = efficiencys[i] / 10;
        }

        // 动态规划表 dp[i][j] 表示前 i 个样本使用 j 个志愿者的最大效率
        int[][] dp = new int[sample_num + 1][volunteer_num + 1];
        int count = 0;

        // 初始化动态规划表：当没有志愿者时，所有样本的效率都为 0
        for (int i = 1; i < sample_num + 1; i++) {
            count += (efficiencys[i - 1] - 2 * range_efficiencys[i - 1]);
            dp[i][0] = count;
        }

        // 动态规划填表：计算每个样本在不同志愿者数量下的最大效率
        for (int i = 1; i < sample_num + 1; i++) {
            for (int j = 1; j < volunteer_num + 1; j++) {
                dp[i][j] = Math.max(dp[i - 1][j] + efficiencys[i - 1] - 2 * range_efficiencys[i - 1], dp[i - 1][j - 1] + efficiencys[i - 1]);     // 志愿者大于等于 1
                dp[i][j] = Math.max(dp[i][j], j - 2 >= 0 ? dp[i - 1][j - 2] + efficiencys[i - 1] + range_efficiencys[i - 1] : 0);    // 志愿者大于等于 2
                dp[i][j] = Math.max(dp[i][j], j - 3 >= 0 ? dp[i - 1][j - 3] + efficiencys[i - 1] + 2 * range_efficiencys[i - 1] : 0);  // 志愿者大于等于 3
                dp[i][j] = Math.max(dp[i][j], j - 4 >= 0 ? dp[i - 1][j - 4] + efficiencys[i - 1] + 3 * range_efficiencys[i - 1] : 0);  // 志愿者大于等于 4
            }
        }

        // 输出最大效率
        System.out.println(dp[sample_num][volunteer_num]);
    }
}